﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Text.RegularExpressions;
namespace kim.Common
{
    /// <summary>
    ///webConfig配置信息读取(常用)
    /// </summary>
    public class AppConfigBLL
    {
        public AppConfigBLL()
        {
            //
            //TODO: 在此处添加构造函数逻辑
            //
        }


        #region 得到新的推荐服务订单号

        public static string GetOfferServiceOrderNewNo
        {
            get { return "TJ" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); }
        }

        public static string GetAdvertiseOrderNewNo
        {
            get { return "AD" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); }
        }
        public static string GetMemberServiceOrderNewNo
        {
            get { return "HY" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); }
        }
        public static string GetTradeOrderNewNo
        {
            get { return "TR" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); }
        }
        #endregion

        #region 得到cookieDomain
        public static string CookieDomain
        {
            get { return ConfigurationManager.AppSettings["cookiesDomain"].ToString(); }
        }
        #endregion

        #region 随机文件名，不含扩展名

        public static string RandomFileName
        {
            get { return Guid.NewGuid().ToString().Replace("-", ""); }
        }

        #endregion

        #region 机电书市图片配置


        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_bookShopNewFileDir()
        {
            return ImageRootDir + @"bookshop\";
        }

        /// <summary>
        /// 得到数据库保存路径地址
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Img_bookShopDataFieldPath(string filePath)
        {
            return filePath.Replace(ImageRootDir, "").Replace(@"\", "/");
        }

        #endregion

        #region 产品图片配置


        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_productNewFileDir()
        {
            return ImageRootDir + @"product\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到数据库保存路径地址
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Img_productDataFieldPath(string filePath)
        {
            return filePath.Replace(ImageRootDir, "").Replace(@"\img", @"\thumb").Replace(@"\", "/");
        }
        #endregion

        #region 新闻资讯图片配置


        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_newsNewFileDir()
        {
            return ImageRootDir + @"news\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到原图新的物理上传路径目录地址 2012年6月13日17:06:51 汪大林新增  荣誉证书上传路径
        /// </summary>
        /// <returns></returns>
        public static string Img_IndTyNewFileDir()
        {
            return ImageRootDir + @"IndustryClassType\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }
        /// <summary>
        /// infonews
        /// </summary>
        /// <returns></returns>
        public static string Img_ModelFileDir()
        {
            return  ImageRootDir + @"infoNews\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到原图新的物理上传路径目录地址 2012年6月24日15:02:20 店铺招牌
        /// </summary>
        /// <returns></returns>
        public static string Img_ZhaoPaiFileDir()
        {
            return ImageRootDir + @"Zhaopai\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }


        /// <summary>
        /// 得到原图新的物理上传路径目录地址 2012年6月21日9:17:33 汪大林新增  曲线图上传路线
        /// </summary>
        /// <returns></returns>
        public static string Img_ChartingFileDir()
        {
            return ImageRootDir + @"charting\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }
        /// <summary>
        /// 帮助中心图片上传的路径【李文浩新增】
        /// </summary>
        /// <returns></returns>
        public static string Help_Img_NewFileDir()
        {
            if (System.IO.Directory.Exists(MBRootDir + @"news\img\" + DateTime.Now.ToString("yyyyMM") + @"\") == false)
            {
                System.IO.Directory.CreateDirectory(MBRootDir + @"news\img\" + DateTime.Now.ToString("yyyyMM") + @"\");
            }
            return MBRootDir + @"news\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }
        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_tougaoFileDir()
        {
            return ImageRootDir + @"tougao\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到数据库保存路径地址
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Img_IndTyNewFileDirWL(string filePath)//套餐缩略图
        {
            return filePath.Replace(ImageRootDir, "").Replace(@"\", "/");
        }
        //模板缩略图
        public static string Img_ModelFileDirWL(string filePath)//套餐缩略图
        {
            return filePath.Replace(ImageRootDir, "").Replace(@"\", "/");
        }

        /// <summary>
        /// 得到数据库保存路径地址【帮助中心图片的路径，李文浩新增】
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Help_Img_DataFieldPath(string filePath)
        {
            return filePath.Replace(MBRootDir, "").Replace(@"\", "/");
        }
        /// <summary>
        /// 得到数据库保存路径地址【李文浩新增】
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Save_Img_newsDataFieldPath(string filePath)
        {
            return filePath.Replace(MBRootDir, "").Replace(@"\", "/");
        }

        #endregion

        #region 供求图片配置


        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_qongqiuNewFileDir()
        {
            return ImageRootDir + @"gongqiu\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到数据库保存路径地址
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Img_gongqiuDataFieldPath(string filePath)
        {
            return filePath.Replace(ImageRootDir, "").Replace(@"\img", @"\thumb").Replace(@"\", "/");
        }

        #endregion

        #region 商城图片配置


        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_shopFileDir()
        {
            return ImageRootDir + @"shop\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        #endregion

        #region 会员证书图片配置


        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_MemberCertNewFileDir()
        {
            return ImageRootDir + @"EnterpriseHonor\img\" + DateTime.Now.ToString("yyyyMM") + @"\";//荣誉证书  如果要做企业认证证书可以新增一个方法
        }

        /// <summary>
        /// 得到数据库保存路径地址
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Img_MemberCertDataFieldPath(string filePath)
        {
            return filePath.Replace(ImageRootDir, "").Replace(@"\img", @"\thumb").Replace(@"\", "/");
        }

        #endregion

        #region 广告位图片配置


        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_AdvertiseNewFileDir()
        {
            return ImageRootDir + @"ServiceAid\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到数据库保存路径地址
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Img_AdvertiseDataFieldPath(string filePath)
        {
            return filePath.Replace(ImageRootDir, "").Replace(@"\", "/");
        }

        #endregion

        #region 市场图片配置
        /// <summary>
        /// 得到原图新的物理上传路径目录地址(市场广告)
        /// </summary>
        /// <returns></returns>
        public static string Img_MarketAdNewFileDir()
        {
            return ImageRootDir + @"MarketAd\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到原图新的物理上传路径目录地址(市场)
        /// </summary>
        /// <returns></returns>
        public static string Img_MarketNewFileDir()
        {
            return ImageRootDir + @"Market\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到原图新的物理上传路径目录地址【模版图片上传，李文浩新增】
        /// </summary>
        /// <returns></returns>
        public static string Img_MBNewFileDir()
        {
            if (System.IO.Directory.Exists(MBRootDir + @"TemplateImg\" + DateTime.Now.ToString("yyyyMM") + @"\") == false)
            {
                System.IO.Directory.CreateDirectory(MBRootDir + @"TemplateImg\" + DateTime.Now.ToString("yyyyMM") + @"\");
            }
            return MBRootDir + @"TemplateImg\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }
        #endregion

        #region 证书图片地址---李文浩新增(会员商务中心使用)

        /// <summary>
        /// 得到原图新的物理上传路径目录地址【证书图片上传，李文浩新增】
        /// </summary>
        /// <returns></returns>
        public static string Img_CertificateFileDir()
        {
            if (System.IO.Directory.Exists(MBRootDir + @"Certificate_pic\" + DateTime.Now.ToString("yyyyMM") + @"\") == false)
            {
                System.IO.Directory.CreateDirectory(MBRootDir + @"Certificate_pic\" + DateTime.Now.ToString("yyyyMM") + @"\");
            }
            return MBRootDir + @"Certificate_pic\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到数据库保存路径地址【李文浩新增】
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Save_Img_CertificateFieldPath(string filePath)
        {
            return filePath.Replace(MBRootDir, "").Replace(@"\", "/");
        }
        #endregion

        #region 展会图片配置

        /// <summary>
        /// 得到原图新的物理上传路径目录地址(市场)【李文浩修改】
        /// </summary>
        /// <returns></returns>
        public static string Img_ExhibitNewFileDir()
        {
            if (System.IO.Directory.Exists(MBRootDir + @"Exhibit\img\" + DateTime.Now.ToString("yyyyMM") + @"\") == false)
            {
                System.IO.Directory.CreateDirectory(MBRootDir + @"Exhibit\img\" + DateTime.Now.ToString("yyyyMM") + @"\");
            }
            return MBRootDir + @"Exhibit\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        #endregion

        #region 资讯专题图片配置
        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_NewsZtNewFileDir()
        {
            return ImageRootDir + @"NewsZtNew\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到原图新的物理上传路径目录地址(资讯专题)【李文浩修改】
        /// </summary>
        /// <returns></returns>
        public static string Img_NewsZtFileDir()
        {
            if (System.IO.Directory.Exists(MBRootDir + @"NewsZt\img\" + DateTime.Now.ToString("yyyyMM") + @"\") == false)
            {
                System.IO.Directory.CreateDirectory(MBRootDir + @"NewsZt\img\" + DateTime.Now.ToString("yyyyMM") + @"\");
            }
            return MBRootDir + @"NewsZt\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }
        #endregion

        #region 会员活动(by sujuan)
        public static string Img_PlayPicFileDir()
        {
            return ImageRootDir + @"PlayPic\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }
        #endregion

        #region 公司LOGO图片配置


        /// <summary>
        /// 得到原图新的物理上传路径目录地址【李文浩修改过】
        /// </summary>
        /// <returns></returns>
        public static string Img_CompanyLogoNewFileDir()
        {
            if (System.IO.Directory.Exists(MBRootDir + @"Logo\img\" + DateTime.Now.ToString("yyyyMM") + @"\") == false)
            {
                System.IO.Directory.CreateDirectory(MBRootDir + @"Logo\img\" + DateTime.Now.ToString("yyyyMM") + @"\");
            }
            return MBRootDir + @"Logo\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到数据库保存路径地址【李文浩修改过】
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Img_CompanyLogoDataFieldPath(string filePath)
        {
            return filePath.Replace(MBRootDir, "").Replace(@"\", "/");
        }

        #endregion

        #region 电子样本图片配置


        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_EbookNewFileDir()
        {
            return ImageRootDir + @"Ebook\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到数据库保存路径地址
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Img_EbookDataFieldPath(string filePath)
        {
            return filePath.Replace(ImageRootDir, "").Replace(@"\img", @"\thumb").Replace(@"\", "/");
        }

        #endregion

        #region 得到原图和缩图全路径URL
        /// <summary>
        /// 得到缩图全路径URL【李文浩修改】
        /// </summary>
        /// <param name="dataFieldPath">数据库保存路径</param>
        /// <returns></returns>
        public static string Img_ThumbAllUrl(string dataFieldPath)
        {
            return ConfigurationManager.AppSettings["GetUploadPic"].ToString() + dataFieldPath;
        }
      
        /// <summary>
        /// 得到Logo原图全路径URL【李文浩，新增】
        /// </summary>
        /// <param name="dataFieldPath">数据库保存路径</param>
        /// <returns></returns>
        public static string Company_Img_AllUrl(string dataFieldPath)
        {
            return ConfigurationManager.AppSettings["GetUploadPic"].ToString() + dataFieldPath.Replace("/thumb", @"/img");
        }
        /// <summary>
        /// 得到旺铺模版原图全路径URL【李文浩，新增】
        /// </summary>
        /// <param name="dataFieldPath">数据库保存路径</param>
        /// <returns></returns>
        public static string Img_NewUrl(string dataFieldPath)
        {
            return ConfigurationManager.AppSettings["GetUploadPic"].ToString() + dataFieldPath;
        }
      
        public static string Img_NoPhotoUrl()
        {
            return "~/member/images/no.gif";
        }

        #endregion

        #region 根节点目录

        /// <summary>
        /// 上传图片物理地址的根目录文件夹
        /// </summary>
        public static string ImageRootDir
        {
            get { return ConfigurationManager.AppSettings["JW"].ToString(); }
        }
        /// <summary>
        /// 上传模版图片物理地址的根目录文件夹【李文浩：新增】
        /// </summary>
        public static string MBRootDir
        {
            get { return ConfigurationManager.AppSettings["UploadPic"].ToString(); }
        }

      

        #endregion

        #region 静态文件根目录物理地址

        /// <summary>
        /// 上传图片物理地址的根目录文件夹
        /// </summary>
        public static string StaticFileDir
        {
            get { return ConfigurationManager.AppSettings["StaticFileDir"].ToString(); }
        }

        #endregion

        #region 在线投稿上传文件配置


        /// <summary>
        /// 得到原图新的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Doc_FileDir()
        {
            return ImageRootDir + @"tougao\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        /// <summary>
        /// 得到数据库保存路径地址
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Doc_FieldPath(string filePath)
        {
            return filePath.Replace(ImageRootDir, "").Replace(@"\", "/");
        }


        #endregion
        #region   企业模版
        /// <summary>
        /// 得到商务中心企业模版的物理上传路径目录地址
        /// </summary>
        /// <returns></returns>
        public static string Img_TemplatesFileDir()
        {
            return ImageRootDir + @"Templates\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }
        /// <summary>
        /// 得到商务中心企业模版保存路径地址
        /// </summary>
        /// <param name="filePath">原图物理全路径</param>
        /// <returns></returns>
        public static string Img_TemplatesDataFieldPath(string filePath)
        {
            return filePath.Replace(ImageRootDir, "").Replace(@"\", "/");
        }
        #endregion

        #region 得到IM的IP端口地址
        /// <summary>
        /// 得到IM连接的端口及IP
        /// </summary>
        public static string GetIMIp
        {

            get { return ConfigurationManager.AppSettings["IP"].ToString(); }
        }

        /// <summary>
        /// 获取下载地址
        /// </summary>
        public static string DownPath
        {

            get { return ConfigurationManager.AppSettings["DownPath"].ToString(); }
        }

        #endregion

        #region 得到IM图片配置
        /// <summary>
        /// 得到原图新的物理上传路径目录地址(机电助手)
        /// </summary>
        /// <returns></returns>
        public static string Img_IM_NewFileDir()
        {
            return ImageRootDir + @"IMdata\img\" + DateTime.Now.ToString("yyyyMM") + @"\";
        }

        #endregion

        #region 得到客户端真实IP

        //public static string GetClientIP()
        //{
        //    string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
        //    if (null == result || result == String.Empty)
        //    {
        //        result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
        //    }

        //    if (null == result || result == String.Empty)
        //    {
        //        result = HttpContext.Current.Request.UserHostAddress;
        //    }
        //    return result;

        //}
        public static string GetClientIP()
        {
            string result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
            if (string.IsNullOrEmpty(result))
                result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

            if (string.IsNullOrEmpty(result))
                result = HttpContext.Current.Request.UserHostAddress;

            if (string.IsNullOrEmpty(result) || !IsIP(result))
                return "127.0.0.1";

            return result;

        }
        /// <summary>
        /// 是否为ip
        /// </summary>
        /// <param name="ip"></param>
        /// <returns></returns>
        public static bool IsIP(string ip)
        {
            return Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");
        }
        #endregion

        /// <summary>
        /// 站点Id
        /// </summary>
        public static string siteId
        {

            get { return ConfigurationManager.AppSettings["siteId"].ToString(); }
        }

        /// <summary>
        /// 站点密银
        /// </summary>
        public static string siteKey
        {

            get { return ConfigurationManager.AppSettings["siteKey"].ToString(); }
        }
    }
}